{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No module named 'utils'\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    import warnings\n",
    "    warnings.filterwarnings('ignore')\n",
    "    import utils\n",
    "except Exception as e:\n",
    "    print(e)\n",
    "    from tensorflow.keras.applications.vgg16 import preprocess_input\n",
    "    def preprocess_img(x):\n",
    "        return preprocess_input(x, mode='tf')\n",
    "    pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.preprocessing.image import ImageDataGenerator\n",
    "from glob import glob\n",
    "import tensorflow as tf\n",
    "import keras\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from keras.applications.inception_v3 import InceptionV3\n",
    "from keras.applications.xception import Xception\n",
    "from keras.applications.resnet50 import ResNet50\n",
    "from keras.applications.nasnet import NASNetLarge\n",
    "from keras.applications.inception_resnet_v2 import InceptionResNetV2\n",
    "from keras.models import Model, Sequential, Input\n",
    "from keras.layers import *\n",
    "from keras.optimizers import Adam\n",
    "from keras.callbacks import ModelCheckpoint, EarlyStopping\n",
    "import os\n",
    "import PIL\n",
    "import time\n",
    "\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"0\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "path_data = '../garbage_classify/train_data'\n",
    "batch_size = 64\n",
    "img_width = 224\n",
    "img_height = 224\n",
    "img_size = 224\n",
    "random_seed = 201908\n",
    "path_data_train = '../tmp/data_train/'\n",
    "path_data_valid = '../tmp/data_valid/'\n",
    "labels_file = '../tmp/labels_raw.csv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe325d1b940>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "labels_train = pd.read_csv('../tmp/labels_train.csv')\n",
    "labels_valid = pd.read_csv('../tmp/labels_valid.csv')\n",
    "n_classess = labels_train.label.unique().shape[0]\n",
    "n_classess\n",
    "labels_train.groupby(by='label').count().plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels_train.label = labels_train.label.apply(lambda x: f'{x:02d}')\n",
    "labels_valid.label = labels_valid.label.apply(lambda x: f'{x:02d}')\n",
    "# labels_train['label_bin'].values = keras.utils.np_utils.to_categorical(\n",
    "#     labels_train.label, n_classess)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 146815 validated image filenames belonging to 40 classes.\n",
      "Found 2978 validated image filenames belonging to 40 classes.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe323615e10>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ig = ImageDataGenerator(preprocessing_function=preprocess_img)\n",
    "\n",
    "params_g = dict(\n",
    "    batch_size=batch_size,\n",
    "    # directory=path_data,\n",
    "    # class_mode='other',\n",
    "    x_col='fname',\n",
    "    y_col='label',\n",
    "    target_size=(img_width, img_height),\n",
    "    seed=random_seed)\n",
    "\n",
    "train_g = ig.flow_from_dataframe(\n",
    "    labels_train, path_data_train, **params_g)\n",
    "valid_g = ig.flow_from_dataframe(\n",
    "    labels_valid, path_data_valid, **params_g)\n",
    "labels_train.groupby(by='label').count().plot()\n",
    "labels_valid.groupby(by='label').count().plot()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n"
     ]
    }
   ],
   "source": [
    "base_model = InceptionResNetV2(\n",
    "    weights='imagenet', include_top=False, input_shape=(img_width, img_height, 3))\n",
    "# base_model = InceptionV3(weights=None, include_top=False)\n",
    "# base_model = ResNet50(\n",
    "#     weights='imagenet', include_top=False, input_shape=(img_width, img_height, 3))\n",
    "# 添加全局平均池化层\n",
    "x = base_model.output\n",
    "# x = GlobalMaxPooling2D()(x)\n",
    "x = Flatten()(x)\n",
    "\n",
    "# 添加一个全连接层\n",
    "# x = Dense(512, activation='relu')(x)\n",
    "x = Dense(128, activation='relu')(x)\n",
    "\n",
    "# 添加一个分类器，假设我们有200个类\n",
    "predictions = Dense(n_classess, activation='softmax')(x)\n",
    "\n",
    "# 构建我们需要训练的完整模型\n",
    "model = Model(inputs=base_model.input, outputs=predictions)\n",
    "# model.summary()\n",
    "# 首先，我们只训练顶部的几层（随机初始化的层）\n",
    "# 锁住所有 InceptionV3 的卷积层\n",
    "# for layer in base_model.layers:\n",
    "#     layer.trainable = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# %%\n",
    "ckpt = ModelCheckpoint(\n",
    "    '../tmp/ckpt-exp1-'+time.strftime('%Y-%m-%d_%H_%M')+'-Epoch_{epoch:03d}-acc_{acc:.5f}-val_acc_{val_acc:.5f}.h5', save_best_only=True, monitor='val_acc')\n",
    "estop = EarlyStopping(monitor='val_acc', min_delta=1e-7,\n",
    "                      verbose=1, patience=20)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n",
      "Epoch 1/100\n",
      "2293/2293 [==============================] - 1633s 712ms/step - loss: 0.2107 - acc: 0.9433 - val_loss: 0.9040 - val_acc: 0.8094\n",
      "Epoch 2/100\n",
      "2293/2293 [==============================] - 1569s 684ms/step - loss: 0.0536 - acc: 0.9856 - val_loss: 0.8302 - val_acc: 0.8260\n",
      "Epoch 3/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0396 - acc: 0.9893 - val_loss: 0.8687 - val_acc: 0.8305\n",
      "Epoch 4/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0284 - acc: 0.9918 - val_loss: 0.8842 - val_acc: 0.8212\n",
      "Epoch 5/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0263 - acc: 0.9929 - val_loss: 0.8860 - val_acc: 0.8219\n",
      "Epoch 6/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0203 - acc: 0.9945 - val_loss: 0.9005 - val_acc: 0.8171\n",
      "Epoch 7/100\n",
      "2293/2293 [==============================] - 1561s 681ms/step - loss: 0.0176 - acc: 0.9950 - val_loss: 1.0896 - val_acc: 0.8047\n",
      "Epoch 8/100\n",
      "2293/2293 [==============================] - 1561s 681ms/step - loss: 0.0184 - acc: 0.9949 - val_loss: 1.3845 - val_acc: 0.7931\n",
      "Epoch 9/100\n",
      "2293/2293 [==============================] - 1565s 683ms/step - loss: 0.0169 - acc: 0.9956 - val_loss: 1.1079 - val_acc: 0.8147\n",
      "Epoch 10/100\n",
      "2293/2293 [==============================] - 1564s 682ms/step - loss: 0.0141 - acc: 0.9960 - val_loss: 0.9548 - val_acc: 0.8164\n",
      "Epoch 11/100\n",
      "2293/2293 [==============================] - 1563s 682ms/step - loss: 0.0127 - acc: 0.9965 - val_loss: 1.0423 - val_acc: 0.8109\n",
      "Epoch 12/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0138 - acc: 0.9964 - val_loss: 0.9349 - val_acc: 0.8236\n",
      "Epoch 13/100\n",
      "2293/2293 [==============================] - 1564s 682ms/step - loss: 0.0101 - acc: 0.9973 - val_loss: 1.0774 - val_acc: 0.8116\n",
      "Epoch 14/100\n",
      "2293/2293 [==============================] - 1564s 682ms/step - loss: 0.0107 - acc: 0.9970 - val_loss: 1.0919 - val_acc: 0.7989\n",
      "Epoch 15/100\n",
      "2293/2293 [==============================] - 1564s 682ms/step - loss: 0.0101 - acc: 0.9972 - val_loss: 1.2525 - val_acc: 0.8020\n",
      "Epoch 16/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0100 - acc: 0.9975 - val_loss: 1.1789 - val_acc: 0.7948\n",
      "Epoch 17/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0092 - acc: 0.9973 - val_loss: 1.0167 - val_acc: 0.8068\n",
      "Epoch 18/100\n",
      "2293/2293 [==============================] - 1566s 683ms/step - loss: 0.0083 - acc: 0.9976 - val_loss: 0.9915 - val_acc: 0.8161\n",
      "Epoch 19/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0083 - acc: 0.9978 - val_loss: 1.0973 - val_acc: 0.8126\n",
      "Epoch 20/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0079 - acc: 0.9979 - val_loss: 1.1579 - val_acc: 0.8027\n",
      "Epoch 21/100\n",
      "2293/2293 [==============================] - 1561s 681ms/step - loss: 0.0077 - acc: 0.9979 - val_loss: 1.1396 - val_acc: 0.8071\n",
      "Epoch 22/100\n",
      "2293/2293 [==============================] - 1562s 681ms/step - loss: 0.0089 - acc: 0.9977 - val_loss: 1.0890 - val_acc: 0.8212\n",
      "Epoch 23/100\n",
      "2293/2293 [==============================] - 1563s 682ms/step - loss: 0.0063 - acc: 0.9983 - val_loss: 1.0951 - val_acc: 0.8116\n",
      "Epoch 00023: early stopping\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7fdd3d0667f0>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.compile(optimizer=Adam(lr=1e-4), loss='categorical_crossentropy',\n",
    "              metrics=['accuracy'])\n",
    "model.fit_generator(\n",
    "    train_g,\n",
    "    # steps_per_epoch=100,\n",
    "    steps_per_epoch=train_g.n // batch_size,\n",
    "    epochs=100,\n",
    "    callbacks=[ckpt, estop],\n",
    "    validation_data=valid_g,\n",
    "    # validation_steps=1,\n",
    "    validation_steps=valid_g.n // batch_size\n",
    ")\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
